﻿
namespace System.Collections.Generic {
	public interface IPagedList<T> : IList<T> {
		int PageSize { get; set; }

		int TotalCount { get; }
		int PageCount { get; }
		int PageIndex { get; set; }

		//void SetPage(int pageIndex);

		bool HasPreviousPage { get; }
		bool HasNextPage { get; }

		void GetFirstPage();
		void GetPreviousPage();
		void GetNextPage();
		void GetLastPage();

		int PageIndexOf(T item);
		void ShowPageOf(T item);

		//int LastPageOf(T item);
		//void ShowLastPageOf(T item);

		bool IsVisible(T item);
	}
}
